﻿
Namespace My

    Partial Friend NotInheritable Class MySettings
        Inherits Global.System.Configuration.ApplicationSettingsBase

        Private Shared userOverrides() As String = { _
            "LaisserPasserConnectionString"
        }

        Private Shared userOverrideSuffix As String = "User"

        Public Sub SetUserOverride(ByVal [property] As String, _
                                   ByVal value As String)
            Me([property]) = value
        End Sub

        Private Sub userOverride_SettingsLoaded(ByVal sender As Object, _
                ByVal e As System.Configuration.SettingsLoadedEventArgs) _
            Handles Me.SettingsLoaded
            Dim userProperty As String
            For Each appProperty As String In userOverrides
                userProperty = appProperty & userOverrideSuffix
                If CType(Me(userProperty), String).Length > 0 Then
                    Me(appProperty) = Me(userProperty)
                End If
            Next
            Me.Save()
        End Sub

        'Private Sub userOverride_SettingsSaving(ByVal sender As Object, _
        '        ByVal e As System.ComponentModel.CancelEventArgs) _
        '    Handles Me.SettingsSaving
        'Dim userProperty As String
        '    For Each appProperty As String In userOverrides
        '        userProperty = appProperty & userOverrideSuffix
        ''Me(userProperty) = Me(appProperty)
        '    Next
        '    Exit Sub
        'End Sub
    End Class

    'Cette classe vous permet de gérer des événements spécifiques dans la classe de paramètres :
    ' L'événement SettingChanging est déclenché avant la modification d'une valeur de paramètre.
    ' L'événement PropertyChanged est déclenché après la modification d'une valeur de paramètre.
    ' L'événement SettingsLoaded est déclenché après le chargement des valeurs de paramètre.
    ' L'événement SettingsSaving est déclenché avant l'enregistrement des valeurs de paramètre.


End Namespace
